﻿using System;
using Microsoft.Xna.Framework.Graphics;
using Fusion.Management;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Media;
using System.IO;

namespace Fusion.Content
{
    public class GameTexture : GameResource
    {
        // Data Properties
        public Texture2D Texture
        {
            get { return (Texture2D)Data; }
            protected set { Data = value; }
        }

        // Constructor
        public GameTexture(string TextureFile)
            : base()
        {
            Texture = FContent.Load<Texture2D>(TextureFile);
            Name = Path.GetFileName(TextureFile);
        }
    }
    public class GameEffect : GameResource
    {
        // Data Properties
        public SoundEffect Effect
        {
            get { return (SoundEffect)Data; }
            protected set { Data = value; }
        }

        // Constructor
        public GameEffect(string EffectFile)
            : base()
        {
            Effect = FContent.Load<SoundEffect>(EffectFile);
            Name = Path.GetFileName(EffectFile);
        }
    }
    public class GameSong : GameResource
    {
        // Data Properties
        public Song Song
        {
            get { return (Song)Data; }
            protected set { Data = value; }
        }

        // Constructor
        public GameSong(string SongFile)
            : base()
        {
             Song = FContent.Load<Song>(SongFile);
             Name = Path.GetFileName(SongFile);
        }
    }
}